Skip to content

Method: setUpContext(GenInterfaceClass, Context)

1: package de.fhdw.wtf.generator.writer.writer;
2:
3: import java.io.File;
4:
5: import org.apache.velocity.context.Context;
6:
7: import de.fhdw.wtf.generator.java.generatorModel.GenClass;
8: import de.fhdw.wtf.generator.java.generatorModel.GenInterfaceClass;
9:
10: /**
11: * Used to write java interfaces from the {@link de.fhdw.wtf.generator.java.generatorModel.GeneratorModel}.
12: */
13: public class JavaInterfaceClassFileWriter extends ClassFileWriter {
14:         
15:         private static final String TEMPLATE_FILE_NAME = "de/fhdw/wtf/generator/templates/modelinterface.vm";
16:         
17:         public JavaInterfaceClassFileWriter(final boolean fullyQualified) {
18:                 super(TEMPLATE_FILE_NAME, fullyQualified);
19:         }
20:         
21:         /**
22:          * Writes the given {@link GenInterfaceClass} to the given rootDir.<br>
23:          * <code>If the interfaceClass package is common and its name is Utils it will be written to: <br>
24:          * /rootDir/common/Utils.java</code>
25:          *
26:          * @param interfaceClass
27:          * @param rootDir
28:          */
29:         public void writeInterfaceClass(final GenInterfaceClass interfaceClass, final File rootDir) {
30:                 this.writeClass(interfaceClass);
31:                 this.setUpContext(interfaceClass, this.getCurrentContext());
32:                 this.writeToFile(interfaceClass, rootDir);
33:         }
34:         
35:         private void setUpContext(final GenInterfaceClass c, final Context currentContext) {
36:                 this.setOperations(c, currentContext);
37:         }
38:         
39:         private void setOperations(final GenInterfaceClass c, final Context currentContext) {
40:                 currentContext.put(PARSED_OPERATIONS_KEY, this.getParsedOperations(c.getOperations()));
41:                 currentContext.put(SIMPLE_OPERATIONS_KEY, this.getSimpleOperations(c.getOperations()));
42:         }
43:         
44:         @Override
45:         public String getStringContent(final GenClass c) {
46:                 final GenInterfaceClass cAsGenInterfaceClass = (GenInterfaceClass) c;
47:                 this.writeClass(cAsGenInterfaceClass);
48:                 this.setUpContext(cAsGenInterfaceClass, this.getCurrentContext());
49:                 return this.writeToString();
50:         }
51:         
52: }